package com.dd.ms.auth.pojo.DO;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;

import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 存储refreshToken的哈希版本
 * </p>
 *
 * @author liuxianmeng
 * @since 2025-08-06
 */
@Getter
@Setter
@Builder
@TableName("refresh_token")
public class RefreshTokenDO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 数据库自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户数据库id（更新refreshToken的时候根据用户id删除所有的旧的refreshToken）
     */
    private Long userId;

    /**
     * 哈希刷新token（不存储真实的refreshToken）
     */
    private String refreshHashToken;

    /**
     * 设备指纹 验证token和设备的一致性
     */
    private String deviceFingerprint;
}
